home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Small Eiffel 0.4.8 / lib_show / bench1 / bench.e < prev    next >
Encoding:
Text File  |  1997-04-13  |  966 b   |  49 lines  |  [TEXT/ttxt]

  1. -- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C) 
  2. -- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
  3. --
  4. deferred class BENCH
  5.    --
  6.    -- Comparison :  ARRAY, FIXED_ARRAY, LINK_LIST and LINK2_LIST.
  7.    --
  8.  
  9. feature
  10.  
  11.    -- According to the power of your computer, set `tuning'
  12.    -- to a good positive value. Default is for very small 
  13.    -- computer :
  14.    tuning: INTEGER is 1; -- 200;
  15.  
  16. feature {NONE}
  17.  
  18.    count: INTEGER is 
  19.       do 
  20.      Result := tuning + 1;
  21.       end;
  22.  
  23.    frozen bench(cltn: COLLECTION[INTEGER]) is
  24.       require
  25.      cltn.count = count
  26.       local
  27.      inner, outer, nb_loops, value: INTEGER
  28.       do
  29.      nb_loops := tuning * tuning;
  30.      from
  31.         outer := 1;
  32.      until
  33.         outer > nb_loops
  34.      loop
  35.         from
  36.            inner := cltn.lower;
  37.         until
  38.            inner > cltn.upper
  39.         loop
  40.            value := cltn.item(inner);
  41.            cltn.put(value + 1,inner);
  42.            inner := inner + 1;
  43.         end;
  44.         outer := outer + 1
  45.      end;
  46.       end;
  47.  
  48. end
  49.